package com.hunliji.monitor.dao.model.dataobject;

import java.time.LocalDateTime;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 钱包流水表
 * </p>
 *
 * @author wu_chen
 * @since 2023-05-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("merchant_wallet_flow")
public class MerchantWalletFlowDO implements Serializable {

    private static final long serialVersionUID = 1L;
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;
    /**
     * 钱包ID
     */
    private Long merchantWalletId;

    /**
     * 交易流水号-内部生成
     */
    private String tradeNo;

    /**
     * 外部交易单号
     */
    private String outTradeNo;

    /**
     * 0-账户同步业务，1-收银台支付业务，2-退款业务，3-广告扣款
     */
    private Integer tradeType;

    /**
     * 业务操作标识编号-外部业务依赖
     */
    private String tradeSource;

    /**
     * 记录流水号，收支类型（收入1 支出 2 ）+ 发生日期时间（到毫秒级 17位数字）+2位随机数
     */
    private String flowNo;

    /**
     * 流水金额状态：0-同步，1-充值，2-扣款
     */
    private Integer flowType;

    /**
     * 交易金额，单位分，含正负
     */
    private Long transAmount;

    /**
     * 交易说明
     */
    private String remark;

    /**
     * 新创建时间
     */
    private LocalDateTime dbCreateAt;

    /**
     * 新更新时间
     */
    private LocalDateTime dbUpdatedAt;

    /**
     * 逻辑删除(0-未删除,1-已删除)
     */
    private Integer deleted;


}
